//package com.letoken.platform.repo.wallet.manager;
//
//import com.alibaba.fastjson.JSONObject;
//import com.letoken.platform.repo.wallet.constant.WalletRabbitConstant;
//import com.letoken.platform.repo.wallet.po.CollectionDispatch;
//import com.letoken.platform.repo.wallet.req.*;
//import org.springframework.amqp.rabbit.core.RabbitTemplate;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//
///**
// * @author letokenlabs
// * @date 2022/12/21$
// */
//@Component
//public class WalletMQManager {
//
//    /**
//     * 链上充值（根据Hash查询是否完成(mq)）
//     *
//     */
//    public void rechargeConfirm(RabbitTemplate rabbitTemplate, RechargeCallbackReq req, Integer ms) {
//
//        rabbitTemplate.convertAndSend(
//                WalletRabbitConstant.TOPIC_EXCHANGE_USER_WALLET,
//                WalletRabbitConstant.QUEUE_USER_RECHARGE_CONFIRM_DELAY,
//                JSONObject.toJSON(req).toString(),
//                message -> {
//                    message.getMessageProperties().setExpiration(ms.toString());
//                    return message;
//                }
//        );
//    }
//
//    /**
//     * 链上提现（发起提现申请，后台审核（人工/自动））
//     */
//    public void withdraw(RabbitTemplate rabbitTemplate, WithdrawReq req, Integer ms) {
//        rabbitTemplate.convertAndSend(
//                WalletRabbitConstant.TOPIC_EXCHANGE_USER_WALLET,
//                WalletRabbitConstant.QUEUE_USER_WITHDRAW_CONFIRM_DELAY,
//                JSONObject.toJSON(req).toString(),
//                message -> {
//                    message.getMessageProperties().setExpiration(ms.toString());
//                    return message;
//                }
//        );
//    }
//
//    /**
//     * 资金归集
//     * @param rabbitTemplate
//     * @param req
//     * @param ms
//     */
//    public void collection(RabbitTemplate rabbitTemplate, CollectionReq req, Integer ms) {
//        rabbitTemplate.convertAndSend(
//                WalletRabbitConstant.TOPIC_EXCHANGE_CEX_WALLET,
//                WalletRabbitConstant.QUEUE_COLLECTION_DELAY,
//                JSONObject.toJSON(req).toString(),
//                message -> {
//                    message.getMessageProperties().setExpiration(ms.toString());
//                    return message;
//                }
//        );
//    }
//
//    /**
//     * 资金归集分配
//     * @param rabbitTemplate
//     * @param req
//     * @param ms
//     */
//    public void dispatch(RabbitTemplate rabbitTemplate, CollectionDispatchReq req, Integer ms) {
//        rabbitTemplate.convertAndSend(
//                WalletRabbitConstant.TOPIC_EXCHANGE_CEX_WALLET,
//                WalletRabbitConstant.QUEUE_DISPATCH_DELAY,
//                JSONObject.toJSON(req).toString(),
//                message -> {
//                    message.getMessageProperties().setExpiration(ms.toString());
//                    return message;
//                }
//        );
//    }
//
//    /**
//     * 扫块服务
//     * @param rabbitTemplate
//     * @param req
//     * @param ms
//     */
//    public void blockReplay(RabbitTemplate rabbitTemplate, BlockReplayReq req, Integer ms) {
//        rabbitTemplate.convertAndSend(
//                WalletRabbitConstant.TOPIC_EXCHANGE_CEX_WALLET,
//                WalletRabbitConstant.QUEUE_BLOCK_REPLAY_DELAY,
//                JSONObject.toJSON(req).toString(),
//                message -> {
//                    message.getMessageProperties().setExpiration(ms.toString());
//                    return message;
//                }
//        );
//    }
//}
